package com.zfjt.controller;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSON;
import com.zfjt.constants.InterfaceDefinition;
import com.zfjt.entity.ReturnBean;
import com.zfjt.entity.UserBean;
import com.zfjt.packnum.PackNum00002;
import com.zfjt.service.UserService;


/**
 * 用户登录接口
 * @author xk
 * @version 1.0
 * @date 2017年3月27日
 */
@Controller
public class LoginController {
		
	@Autowired
	private UserService mUser;
	
	private ReturnBean mReturn;
	
	private Map<String, String> fhdata;
	
	@RequestMapping(value="00002")
	@ResponseBody
	public ReturnBean Login(HttpSession hseesion){
		mReturn = new ReturnBean();
		fhdata = new HashMap<>();
		//传过来的参数
		String data =  (String) hseesion.getAttribute("data");
		PackNum00002 no00002 = JSON.parseObject(data,PackNum00002.class);
		
		List<UserBean> mUserData = mUser.selectAll();
		int is = 0;
		for (int i = 0; i < mUserData.size(); i++) {
			UserBean user = mUserData.get(i);
			if (user.getAccount().equals(no00002.getAccount())) {
				is = 1;
			}
		}
		if (data.equals(InterfaceDefinition.IStatusCode.TOKEN_FAILURE)) {
			mReturn.setCode("001");
			mReturn.setPortnum("00002");
			fhdata.put("error", "TOKEN_ERROR");
			mReturn.setData(JSON.toJSONString(fhdata));
		}else{
			//对比数据库，无此账号
			if(is == 0){
				mReturn.setCode("002");
				mReturn.setPortnum("00002");
				fhdata.put("error", "NULL_ERROR");
				mReturn.setData(JSON.toJSONString(fhdata));
			}else{
				//判断密码是否正确
				UserBean user = mUser.selectByPrimaryKey(no00002.getAccount());
//				if (no00002.getAccount().equals("17379165512")) { //为了苹果上架，只有这个账号不验证设备号
//					if(no00002.getPassword().equals(user.getPassword())){						
//						mReturn.setCode("000");
//						mReturn.setPortnum("00002");
//						fhdata.put("type", user.getType());
//						fhdata.put("branch", user.getBranch());
//						fhdata.put("uesr_id", user.getUserId());
//						mReturn.setData(JSON.toJSONString(fhdata));
//					}else{//密码错误
//						mReturn.setCode("002");
//						mReturn.setPortnum("00002");
//						fhdata.put("error", "ERROR_PASSWORD");
//						mReturn.setData(JSON.toJSONString(fhdata));
//					}	
//				}else {
//					if (!user.getNews().equals(no00002.getPhine_num())) { //验证设备号
//						mReturn.setCode("002");
//						mReturn.setPortnum("00002");
//						fhdata.put("error", "PHONENUM_PASSWORD");
//						mReturn.setData(JSON.toJSONString(fhdata));
//					}else 
					if(no00002.getPassword().equals(user.getPassword())){						
						mReturn.setCode("000");
						mReturn.setPortnum("00002");
						fhdata.put("type", user.getType());
						fhdata.put("branch", user.getBranch());
						fhdata.put("uesr_id", user.getUserId());
						mReturn.setData(JSON.toJSONString(fhdata));
					}else{//密码错误
						mReturn.setCode("002");
						mReturn.setPortnum("00002");
						fhdata.put("error", "ERROR_PASSWORD");
						mReturn.setData(JSON.toJSONString(fhdata));
					}	
//				}				
				
			}
		}
		return mReturn;
	}
}
